From 8f2bc1aa6161ec57d31eb2606584b4c5d9b1ab87 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Sun, 6 Feb 2022 23:18:57 +0900 Subject: [PATCH] Enable Octavia in scenario004 This change enables Octavia in scenario004 integration job so that we can validate deployment of Octavia by puppet-octavia. Because of limited resource in CI, noop driver is used and all of backend operations like amphora instance management are disabled. This is the same method as is used in a CI job in Octavia itself. Depends-on: https://review.opendev.org/828063 Change-Id: I627872dd81d5ca576ea33ecf4755bf8de43df76a --- README.md | 1 + files/octavia-certs/client.cert-and-key.pem | 56 ++++++++ files/octavia-certs/client_ca.cert.pem | 33 +++++ files/octavia-certs/server_ca.cert.pem | 22 ++++ files/octavia-certs/server_ca.key.pem | 30 +++++ fixtures/scenario004.pp | 2 + manifests/octavia.pp | 34 +++++ manifests/tempest.pp | 137 +++++++++++--------- run_tests.sh | 5 + 9 files changed, 257 insertions(+), 63 deletions(-) create mode 100644 files/octavia-certs/client.cert-and-key.pem create mode 100644 files/octavia-certs/client_ca.cert.pem create mode 100644 files/octavia-certs/server_ca.cert.pem create mode 100644 files/octavia-certs/server_ca.key.pem diff --git a/README.md b/README.md index 173b6ebaa..bd5798d41 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,7 @@ scenario](#all-in-one). | bgp-dr | | | | | X | | | redis | | X | | | | | | l2gw | | | | | X | | +| octavia | | | | | X | | | om rpc | amqp1 | amqp1 | rabbit | rabbit | rabbit | rabbit | | om notify | rabbit | rabbit | rabbit | rabbit | rabbit | rabbit | diff --git a/files/octavia-certs/client.cert-and-key.pem b/files/octavia-certs/client.cert-and-key.pem new file mode 100644 index 000000000..f1eacb0eb --- /dev/null +++ b/files/octavia-certs/client.cert-and-key.pem @@ -0,0 +1,56 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAwezNYr1hGnQnTs3EiFdU0swOMUCR+kpbzsxwn+J6YZdcuKcl +ZPPGjBBMjVWwo6crWKr/h+xe51l4nArLNDVg8ytS4+VQ9No/rXitlnAHbnV1fi9u +PU9Rh5lZvy9soTwXvwgywJ5ghMoFaMSYHPmVk7lnXYYAVd76QH+h66oFjMiA2NDp +H9v1+832GkWidHv27agJwtlJcZEX+H+Bxqt1kNqwFf8ZGpOP1qbjQ8jXmS3cY/M4 +yUwtfhTv9zTxox0k8wWH5Qzs32ToqWTT8yVgwO9yc5WYJaoPWh9zGeiScAHmsDB6 +7gAzyEKrPb3XHYJz6C5JTtT2Qkl2m84GSwGcSQIDAQABAoIBADdpGE6MWkCay9iC +hxOGEKCi2bNNBekEcjMmy0+EAP/9perFJ7Quy56d0aHYyD4auBH/2j/WVE+6ivHb +S7DBR9Bzop2nmng8HFHO15rSq+zt9wJ1PwSZs2wRb0lnnZx8dTSKfSX4mw+WQfFr +qyMsVYb+RQC+Fz5yFgNz9KpHzIorCPpWvEpXY+Zsq/fImDNmvcIwff7ONjU6VXe2 +XNLqkLer7D9WjpVARgFx+yzaJH7qC08Qht1RY3IcL02sMH+N4+6AUPTGKw2f7Qi6 +2M29Szva/D9d42G6yIo2lFsvZ6vnDLKK7nyPI1s1mr/FLKkCqKS5Gh8Th9EePxcH +Mnwju5kCgYEA43qHoaZiWOQAu5YwlPN3c9N4SwV7/bNz0b414jQOEMnCg7aq/vad +f7I939h+Sfy6/gOdF+AmDnn8xrpF+woSTNv0XF2CbuGBeM0WB+H6ZuXog+TRnkNa +f8ups6RyARyGA/CdnKEX3udm6ruOIQaVN7o9wkuoEm3qLAMxeQALPTMCgYEA2j1J +7UJ3zkh9RrRAJLeUJjy+MU+Vtxf6n3hiATg7S/m/8WERQLjhKCbtAqtjsGcSBXyx +JmGV4ikJu5KTEMttf/Zq8Kzf0+3vUlKW50qVg15Rmb0wmCSOsGFUthx4JEwJgeHk +fxqMoPcn9Cpdsa9dpDISVmWAMBOc1apvMuIMqJMCgYEAgz3nUMFBDo4FSjUdtGI/ +ccj5Jzdz0OyfDszSI77quo7dNcbHIzC/r7PzdNlgC2nPrMwC74p4CnQg/brssyid +ZFCmzD97CGP8oeiZJFUhdgqBOs9ijQ/I/+BN+YIP8Eo3m8BP/tUGg6k4PIeXOcCl +iLBf/2BNCMz3hQsWmPwIf/cCgYEA1zgVzYr9B0tpb+6WSx9XVJYWoh5v8M4O9HEN +hVJk97nmVi55izBHqwcoOLe4aeBbX1nmgYk+/HeoB3i225sh802ZjJuPaDp/Bto3 +wwREifbb1hdC8ucqaDq0BZvxxynNPm78nXQbNypGFn4pQ+9DE4flmZojXkYZJoUb +gDx4a00CgYAXQ97Bsm/OPhdQNvkqU5W2LFOuCCYMYrwei9ciNv/nslpiAzwRYg6o +JZlQjaDxSJCdd/uhZMQzkQt2Mn2IVv2pQG6UmFasaX8Eix4jJJ6unPcMja91zBiw +X5XHp8Ikd23BeiSMvJsko5CwoFIw8rU30TOoIxiAwJ2RVh19/YLCoA== +-----END RSA PRIVATE KEY----- +-----BEGIN CERTIFICATE----- +MIIE9jCCAt6gAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UEBhMCVVMx +DzANBgNVBAgMBk9yZWdvbjESMBAGA1UECgwJT3BlblN0YWNrMRAwDgYDVQQLDAdP +Y3RhdmlhMRQwEgYDVQQDDAtleGFtcGxlLm9yZzAeFw0yMjAyMDgxMDM3MTVaFw00 +MjAyMDMxMDM3MTVaMFoxCzAJBgNVBAYTAlVTMQ8wDQYDVQQIDAZPcmVnb24xEjAQ +BgNVBAoMCU9wZW5TdGFjazEQMA4GA1UECwwHT2N0YXZpYTEUMBIGA1UEAwwLZXhh +bXBsZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDB7M1ivWEa +dCdOzcSIV1TSzA4xQJH6SlvOzHCf4nphl1y4pyVk88aMEEyNVbCjpytYqv+H7F7n +WXicCss0NWDzK1Lj5VD02j+teK2WcAdudXV+L249T1GHmVm/L2yhPBe/CDLAnmCE +ygVoxJgc+ZWTuWddhgBV3vpAf6HrqgWMyIDY0Okf2/X7zfYaRaJ0e/btqAnC2Ulx +kRf4f4HGq3WQ2rAV/xkak4/WpuNDyNeZLdxj8zjJTC1+FO/3NPGjHSTzBYflDOzf +ZOipZNPzJWDA73JzlZglqg9aH3MZ6JJwAeawMHruADPIQqs9vdcdgnPoLklO1PZC +SXabzgZLAZxJAgMBAAGjgcUwgcIwCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMC +BaAwMwYJYIZIAYb4QgENBCYWJE9wZW5TU0wgR2VuZXJhdGVkIENsaWVudCBDZXJ0 +aWZpY2F0ZTAdBgNVHQ4EFgQUkB5iLzoXcqdWFpORiD8lgbiDWBowHwYDVR0jBBgw +FoAUfmplFkMkuTb7xpmXKRNLceLIIywwDgYDVR0PAQH/BAQDAgXgMB0GA1UdJQQW +MBQGCCsGAQUFBwMCBggrBgEFBQcDBDANBgkqhkiG9w0BAQsFAAOCAgEAf0mw3duQ +GmrRX/vIWU3BJXqK6GT5o298mjG1UaNMqWg1CzubiXRjWAEDguP5ZMo/wo646rjF +IKTqMeGw9G7rPdr2NKVCNFKBe4vor+j/zrJ97RnR7s1RuvKvQZbseIwjEAxkJBES +o5ZW0Uj7ImGz/fgRmosvWuvfwnci9gkDfg176KlFXEoolp3EA+kwDxvFYJHFOqpf ++o1rWbVXR1cAeCI0vLtDQsNWnkU9GjqO7KHBbiDxFoBU3CPh068gHqNM7yhOdbEd +rHLILpvIX4eTIDtXlslE128Ls6rPOB2Few736HV2v2G9APPxRnd2Qa2WFY9nsLVM +Wouw5a2p//tnIPTFFHZ1v4VHsbB5eTJS7tOpEwqg7pSr1hC2jNWCA3+NwmvgX2r6 +GbEi7RgHpeG8KXVDtcI3/8vKWryPiF67yXiO+qvsDnEV9M4PTWxsg2DYN4aa9eNq +zyiVmakObweIEadz8vC8Dmri/UgaVLooCZ2C1AU78LSS+yTvMMvqgHGpweZMMhRa +OhF++UnCkxuPKqCdibzIBZ7FZezlMpDP+m4o1LMxumvTH6VhT7cdKOFUtUDk+28V +ju3fFQ+cXEM+bc05tfZsoCq9cIad7vQOyucvDVb2vf1oZFOxqPkXxau7TSHxx6RK +XJiHNbsW6UL/vwypC2xHUsM8A0xVxNwSlow= +-----END CERTIFICATE----- diff --git a/files/octavia-certs/client_ca.cert.pem b/files/octavia-certs/client_ca.cert.pem new file mode 100644 index 000000000..b4543a1b0 --- /dev/null +++ b/files/octavia-certs/client_ca.cert.pem @@ -0,0 +1,33 @@ +-----BEGIN CERTIFICATE----- +MIIFpTCCA42gAwIBAgIUV9/cmV3wK0gV6yDhsKv3imoFX0cwDQYJKoZIhvcNAQEL +BQAwWjELMAkGA1UEBhMCVVMxDzANBgNVBAgMBk9yZWdvbjESMBAGA1UECgwJT3Bl +blN0YWNrMRAwDgYDVQQLDAdPY3RhdmlhMRQwEgYDVQQDDAtleGFtcGxlLm9yZzAe +Fw0yMjAyMDgxMDM0MTlaFw00MjAyMDMxMDM0MTlaMFoxCzAJBgNVBAYTAlVTMQ8w +DQYDVQQIDAZPcmVnb24xEjAQBgNVBAoMCU9wZW5TdGFjazEQMA4GA1UECwwHT2N0 +YXZpYTEUMBIGA1UEAwwLZXhhbXBsZS5vcmcwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDY3rnLdGW+ZPCiJ/+9l9QB2VTz+cHHnZ07pL1XTOsOLpGLu3B3 +DkYCSz3I8/hSoMCH7ATqZeuIUFTL9pp6Oxv4fPuQi4p13T2fqbVaQ895oEqRHcsX +dKMhVSEgbizf0oljcfBPQ3XKVL3luQTwH2G6xPIKETgQCUR0QQOQkP7fTd1ZgS8t +ije+658PEOHIiIuMcgGalVAFi/rNyzVRaYK3gAGUtiLsoHHXzL/3UFU/xsC4OM7S +o6Bv2dnvs6gujZ9Y54QmPRa5mAmh1+67R9EkhAhkUR+wMSOR2XqQnl6oodXqz1E6 +iuBwLoPhTsIanIQeGKHBp2wh3oFry+dwLG773DyWfMCYwKHdLaYKvbC5SBe4QFix +zDo5394mQ0m4Ecx6dmzoLval8m4bGwoAK0VsC8OkX4+Eum/tjdRptzG0MmG5Fg1G +GczdPXlZSliiN03GoVV6i1kKBFKYg1lOQTHIgFlY1hpwKAzpeiLA84+aWywKQAwV +ytIIF/UN7CQYmE6yoq6vckQyxMYwCTnbAaugDLd81o/ESit4TBjclPHAoNJlrgcp +CddfNuk6RbyJdZGbltCGHdVRATi4VRVyqu/pWClVyERNZ7B+GTKBL448s2dw2DHi +EPdhdTAyXiislb6M8AKMZFOTdeIQ4Dy5TSkT7rYy16g6ParQ7Ftt0sv06QIDAQAB +o2MwYTAdBgNVHQ4EFgQUfmplFkMkuTb7xpmXKRNLceLIIywwHwYDVR0jBBgwFoAU +fmplFkMkuTb7xpmXKRNLceLIIywwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E +BAMCAYYwDQYJKoZIhvcNAQELBQADggIBABGd4iD4lN+YEe4SEgbCx0ZOb+JQB8+V +QoMXOtZeFbYOIh2TjqMOekKWxXCQThg5+9PqMnJ88sDM3S5Q6UC+ChP0mcW0Ez2T +xT6VGbwBZTzLTkolKmLypoSl4pgZHKN2OGpNT0Q1JHXolPRwB6baC+vI482aXtp8 +JETEKjWBcufTWe3oCqpSeShI4mzfoML8eRXoWen5klvTUUntwoOtY2UJkMchlC/c +zuOgReAhoBPJiQh2HVsG87iWBf1sZVZ0eJ9ICyi7HCmG9ba0kSn12QO1hn8S3Q0X +rqvpTj5vtwknO+wFr26/87ZrBgMQaosan6C7ZX5vLGBgkwk5UEcJu3Et2OmYGSeE +imyggtVyXb078JFTbRR2A0KFt/fjNisQ3Tq9A9Koj6RJv2f2dlsA4zl46HsID+Z2 +KUQkZnBZAHTy+GpEDmQNO1e/TEeB28brPj61lCzn1qwAgYD3wcX90rpYd1Sa+VLH +5i46ZMuTwzXI79M9SjxB5REOzwFHWEM44SGQQ404ORnjeLuJe7ffOgTz6Wkzb6sW +vuPloxUgUxUPAE0dYpvS5dDe7W6GOMEd/lxVD3PVNzHuWsPFWwFWx862crpVtqmm +sz1NFvn9wJGnNKFoh/bKK9ioq75Q9vDJKmLRYKiAxdwWhjM1lvjPpV+rO5mnFUKz +XoPO+/oUJ9Xh +-----END CERTIFICATE----- diff --git a/files/octavia-certs/server_ca.cert.pem b/files/octavia-certs/server_ca.cert.pem new file mode 100644 index 000000000..f584548d7 --- /dev/null +++ b/files/octavia-certs/server_ca.cert.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDpTCCAo2gAwIBAgIULjfvclvGDdJM+kuzDFF4F1rmd8AwDQYJKoZIhvcNAQEL +BQAwWjELMAkGA1UEBhMCVVMxDzANBgNVBAgMBk9yZWdvbjESMBAGA1UECgwJT3Bl +blN0YWNrMRAwDgYDVQQLDAdPY3RhdmlhMRQwEgYDVQQDDAtleGFtcGxlLm9yZzAe +Fw0yMjAyMDgxMDMyNDdaFw00MjAyMDMxMDMyNDdaMFoxCzAJBgNVBAYTAlVTMQ8w +DQYDVQQIDAZPcmVnb24xEjAQBgNVBAoMCU9wZW5TdGFjazEQMA4GA1UECwwHT2N0 +YXZpYTEUMBIGA1UEAwwLZXhhbXBsZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQC4jufsWFvBpyG5dVjGC2pg/k4Kv4eR3gNfwdNXDSyAo/pV1bsr +mQkA3TxvZoXfzEL04VkbMLJah8x+mPgeP4w0k3+fQXuvL9n8yordPM0FUzRFa4NG +jJVcYCaFUstJIhnK3j2sGp2Q36NpGikd1Y2hBUYdwnPIvlY4LBU/v6KFgXdvDNQM +sZOsyHKkt8vwUw9cQb8LeNzH8zAq76GvemHlPh82+wLFGl1KXdWKM5ZEX9G/YdDQ +OugfL3ZXiX2SHkRAtt57Z2bEHBsXWh7iVsvJqTzJ7glz3WmNREGYNVP0+ObR/vVG +BLQzVXwORDSdLlVZ9+jhYkjUuEPQrLdwi/kjAgMBAAGjYzBhMB0GA1UdDgQWBBRp ++xLypu4U5b9fk9xB4TFVEyhDHjAfBgNVHSMEGDAWgBRp+xLypu4U5b9fk9xB4TFV +EyhDHjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0B +AQsFAAOCAQEAHvCoWrM0JH/MILIbY4EHJKe5M7CqxsIyW1QKE8Zk60M+e1QRjwxs +/za7Y685hfq7VAjv3pdpTH/NReCZQcohwB+Mg2AycLsJH+01uIGUXv51RiiRafvC +mGc7pYHuAgBJtRx3Hi+x+v8DaHtkDYt7Qh8S9M9zvQwdcreM5ZSj6JM2igdTD1Yt +jnAtXAeZvsrQinE4zcaVd7qpgBwRkefaaDkF3cUP2wxZHwnaoj+cfciP/JnHxCS9 +PO2J0yfYLY2dY6237DaKOxKFu71MKnjCy5W1YqVkZAKfYupa4sfM4MfteX80VtTN +537qpqIx2gR43+/oobNpFBlWANRHSp1FeA== +-----END CERTIFICATE----- diff --git a/files/octavia-certs/server_ca.key.pem b/files/octavia-certs/server_ca.key.pem new file mode 100644 index 000000000..bea6bdfdf --- /dev/null +++ b/files/octavia-certs/server_ca.key.pem @@ -0,0 +1,30 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIFLTBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQIOnCVnXqEN8ECAggA +MAwGCCqGSIb3DQIJBQAwHQYJYIZIAWUDBAECBBDxa1EswXkfHBR2LuIIiM1tBIIE +0DDN3e0ij4z7h+XEE6lxDpGb6aLNc+aSx3c6hmdHbiIeidkbKuyc9gipYOf5P+9w +hYiKmuPP5UVR5+5uUtkhs3sSElj5FLV01YdeVywNgNp0Tnn71doOsEXkwZFU66Gm +VsCongi8tXyIcM9Idy/Yz0S6vrsKh8lDC2IPX00Zh+UISVIpUazdLvRGhlR1KPJ9 +hM4qkBYcogJhE1CzQjtW4z4yYhA6ll0pjREarhSsWd1VwSXzH/yPd6T/ebf6v4Fc +8XZ/kBf3RT0jsUPUyX2b/1XnC1ACuPbJtTbIAKeWEiqGLibGUyx6yXhSZbHoEo4H +IubRJY0clgtZMHtn/VozRzPGoX5JaZsFA8T0RkzLE0RRSUl0ae68SLOeWecA3Nj5 +H84tEfRQNrLHRSZ7zRVgWfNBQKLBhCB6Wpop/03g2QuUTtAGvDcUSJBlEm1jC9vD +Uqf5rulMVEjbiq6Rfuug5Su9UrAbNkrXbyuo9noUukTCUX2l1NrTDGHrosa+SP8p +Lc9ZFepsgxrhxGM3Wi+ZrXsi8kDiESCacLIZo9fEaExeXE5x/GSHz/7Wg5sH2ei2 +yDc0hmY4UvVEN5LPeOHni4ysnnnEFPm5mVdu3jnJgqsvU9wK6tCOnEaJrG1wAQka +e03oU32P8lBDXYQrvsqAc3Xn4Z49qVD99R7lWCNIH3rmoXqGQfaArJprkPPwLUAG +tGIz7iOBXMRGmdR4Z7qDJMJuK/XUCq/2pSWpMtKFj60s5Mf6eHUYK62DX5ISltme +tWCbmQRds5KQAVoyslkDyzkofEA/FwuxrS2TXqFLRDK77p0+JzC32nEE6WLFXfB6 +oJrEvYWQv60wykhRG2V2tVUY9JGee66hZqEyvbS0eEA3tieIGJwQAhuI3pT+w0gh +dgxjCG3XCFNxSanJ3NdFYxhoL1/5UlysuuqLitVUkmnAUgPbcuzopb4hMELOHkIy +Z7aVgD5o34DpZHsaDMlKD124uKUP12ToEiqkCEG/3fRtLZOO3z3mgzdFhTpHyr+I +aTBSf3ZZCo0LyzWo/gpn+NP/cSOI3N6q/Pi5qRXT/GZHJLStgpMoMLlZ7f4mjSrO ++eRf7yIdTI/x3vMx25l2y0W+EYrEmhxuIsINkk8foSdPUBiZgcId4SwEbPivM786 +Qfsn2Ic7utFFRAzYv34rJkylP8HwnbtzeSs98BwKu8ip3Pnq5Sy4oBDRkwTqj3me +E+fErcQghR+dLQ+L8usmVDUCO/ti6alQ35qXVSMtqtx9kfx16Rv+1Hy9M5HGJT2N +wFTq/sfCQoiRpSk9QwisAoVTvu/+gUSY4qL1Af2tO9lsJ7cd5juurjlnT52FaKQl +acd8LWc7EJuO0mcTGpux2YBrSnwbLgLqrVILBozIzum8ZXSuFaVEbjnL8Ky7y/WK ++8BXbm5JPQgoLUrHTJ+BwqbfKatWTl7E0mnmu/DPG1Y4/kkzylDbvGOjhF1L7Kp5 +sjVmYUuaB4PKg2NCUpuKA/GfU1T7035rsHsx4AuWLSU2LOaZ6uXzW7IwTFHSyYsp +/8DfoVfStTnsnG1F5N3L6w7BhiC32hT5X80B0GJ50S2PIXXgMwqcuWKMZGvJdBjg +wLqbU1ew3dqFOSdKBPZFy06Fc+znWkW60JP/oT+NMzhG +-----END ENCRYPTED PRIVATE KEY----- diff --git a/fixtures/scenario004.pp b/fixtures/scenario004.pp index 9bb7ac5a4..9d42f1437 100644 --- a/fixtures/scenario004.pp +++ b/fixtures/scenario004.pp @@ -72,6 +72,7 @@ class { 'openstack_integration::ceph': if $watcher_enabled { include openstack_integration::watcher } +include openstack_integration::octavia include openstack_integration::provision @@ -83,4 +84,5 @@ class { 'openstack_integration::tempest': l2gw => $l2gw_enabled, l2gw_switch => 'cell08-5930-01::FortyGigE1/0/1|100', dr => $bgp_dragent_enabled, + octavia => true, } diff --git a/manifests/octavia.pp b/manifests/octavia.pp index c228672b0..fa72b9e86 100644 --- a/manifests/octavia.pp +++ b/manifests/octavia.pp @@ -68,6 +68,40 @@ class openstack_integration::octavia ( www_authenticate_uri => $::openstack_integration::config::keystone_auth_uri, memcached_servers => $::openstack_integration::config::memcached_servers, } + + File { '/etc/octavia/certs': + ensure => directory, + owner => 'octavia', + group => 'octavia', + mode => '0700', + tag => 'octavia-certs', + } + + [ + 'server_ca.cert.pem', + 'server_ca.key.pem', + 'client_ca.cert.pem', + 'client.cert-and-key.pem' + ].each |String $cert | { + File { "/etc/octavia/certs/${cert}": + ensure => present, + owner => 'octavia', + group => 'octavia', + mode => '0700', + source => "puppet:///modules/${module_name}/octavia-certs/${cert}", + tag => 'octavia-certs', + } + } + Anchor['octavia::config::begin'] -> File<| tag == 'octavia-certs' |> -> Anchor['octavia::config::end'] + + class { 'octavia::certificates': + ca_private_key_passphrase => 'not-secure-passphrase', + ca_certificate => '/etc/octavia/certs/server_ca.cert.pem', + ca_private_key => '/etc/octavia/certs/server_ca.key.pem', + client_ca => '/etc/octavia/certs/client_ca.cert.pem', + client_cert => '/etc/octavia/certs/client.cert-and-key.pem', + } + class { 'octavia::api': enabled => true, service_name => 'httpd', diff --git a/manifests/tempest.pp b/manifests/tempest.pp index 125e505e2..e56adb342 100644 --- a/manifests/tempest.pp +++ b/manifests/tempest.pp @@ -76,6 +76,10 @@ # (optional) Define if Nova needs to be tested. # Default to true. # +# [*octavia*] +# (optional) Define if Octavia needs to be tested. +# Default to false. +# # [*sahara*] # (optional) Define if Sahara needs to be tested. # Default to false. @@ -142,6 +146,7 @@ class openstack_integration::tempest ( $murano = false, $neutron = true, $nova = true, + $octavia = false, $sahara = false, $swift = false, $trove = false, @@ -208,71 +213,77 @@ class openstack_integration::tempest ( } class { 'tempest': - debug => true, - use_stderr => false, - log_file => 'tempest.log', - tempest_clone_owner => $::id, - git_clone => false, - tempest_clone_path => '/tmp/openstack/tempest', - lock_path => '/tmp/openstack/tempest', - tempest_config_file => '/tmp/openstack/tempest/etc/tempest.conf', - configure_images => $configure_images, - configure_networks => $configure_networks, - identity_uri_v3 => "${::openstack_integration::config::keystone_auth_uri}/v3", - admin_username => 'admin', - admin_project_name => 'openstack', - admin_password => 'a_big_secret', - admin_domain_name => 'Default', - auth_version => 'v3', - tempest_roles => ['member', 'creator'], # needed to use barbican. - image_name => 'cirros', - image_name_alt => 'cirros_alt', - cinder_available => $cinder, - cinder_backup_available => $cinder_backup, - designate_available => $designate, - glance_available => $glance, - horizon_available => $horizon, - nova_available => $nova, - neutron_available => $neutron, - neutron_bgpvpn_available => $bgpvpn, - neutron_l2gw_available => $l2gw, - neutron_dr_available => $dr, - ceilometer_available => $ceilometer, - aodh_available => $aodh, - trove_available => $trove, - sahara_available => $sahara, - heat_available => $heat, - swift_available => $swift, - ironic_available => $ironic, - zaqar_available => $zaqar, - mistral_available => $mistral, - vitrage_available => $vitrage, - gnocchi_available => $gnocchi, - ec2api_available => $ec2api, - watcher_available => $watcher, - public_network_name => 'public', - neutron_api_extensions => join(any2array($neutron_api_extensions), ','), - dashboard_url => $::openstack_integration::config::base_url, - flavor_ref => '42', - flavor_ref_alt => '84', - db_flavor_ref => '42', - image_ssh_user => 'cirros', - image_alt_ssh_user => 'cirros', + debug => true, + use_stderr => false, + log_file => 'tempest.log', + tempest_clone_owner => $::id, + git_clone => false, + tempest_clone_path => '/tmp/openstack/tempest', + lock_path => '/tmp/openstack/tempest', + tempest_config_file => '/tmp/openstack/tempest/etc/tempest.conf', + configure_images => $configure_images, + configure_networks => $configure_networks, + identity_uri_v3 => "${::openstack_integration::config::keystone_auth_uri}/v3", + admin_username => 'admin', + admin_project_name => 'openstack', + admin_password => 'a_big_secret', + admin_domain_name => 'Default', + auth_version => 'v3', + tempest_roles => ['member', 'creator'], # needed to use barbican. + image_name => 'cirros', + image_name_alt => 'cirros_alt', + cinder_available => $cinder, + cinder_backup_available => $cinder_backup, + designate_available => $designate, + glance_available => $glance, + horizon_available => $horizon, + nova_available => $nova, + octavia_available => $octavia, + neutron_available => $neutron, + neutron_bgpvpn_available => $bgpvpn, + neutron_l2gw_available => $l2gw, + neutron_dr_available => $dr, + ceilometer_available => $ceilometer, + aodh_available => $aodh, + trove_available => $trove, + sahara_available => $sahara, + heat_available => $heat, + swift_available => $swift, + ironic_available => $ironic, + zaqar_available => $zaqar, + mistral_available => $mistral, + vitrage_available => $vitrage, + gnocchi_available => $gnocchi, + ec2api_available => $ec2api, + watcher_available => $watcher, + public_network_name => 'public', + neutron_api_extensions => join(any2array($neutron_api_extensions), ','), + dashboard_url => $::openstack_integration::config::base_url, + flavor_ref => '42', + flavor_ref_alt => '84', + db_flavor_ref => '42', + image_ssh_user => 'cirros', + image_alt_ssh_user => 'cirros', # TODO(emilien) optimization by 1/ using Hiera to configure Glance image source # and 2/ if running in the gate, use /home/jenkins/cache/files/ cirros image. - img_file => '/tmp/openstack/image/cirros-0.5.1-x86_64-disk.img', - compute_build_interval => 10, - ca_certificates_file => $::openstack_integration::params::ca_bundle_cert_path, - manage_tests_packages => true, - attach_encrypted_volume => $attach_encrypted_volume, - murano_available => $murano, - tempest_workspace => '/tmp/openstack/tempest', - run_ssh => true, - l2gw_switch => $l2gw_switch, - disable_dashboard_ssl_validation => true, - baremetal_driver => 'fake-hardware', - baremetal_enabled_hardware_types => 'ipmi,fake-hardware', - ec2api_tester_roles => ['member'], + img_file => '/tmp/openstack/image/cirros-0.5.1-x86_64-disk.img', + compute_build_interval => 10, + ca_certificates_file => $::openstack_integration::params::ca_bundle_cert_path, + manage_tests_packages => true, + attach_encrypted_volume => $attach_encrypted_volume, + murano_available => $murano, + tempest_workspace => '/tmp/openstack/tempest', + run_ssh => true, + l2gw_switch => $l2gw_switch, + disable_dashboard_ssl_validation => true, + baremetal_driver => 'fake-hardware', + baremetal_enabled_hardware_types => 'ipmi,fake-hardware', + ec2api_tester_roles => ['member'], + load_balancer_member_role => 'member', + load_balancer_admin_role => 'admin', + load_balancer_observer_role => 'member', + load_balancer_global_observer_role => 'admin', + load_balancer_test_with_noop => true, } if $magnum { diff --git a/run_tests.sh b/run_tests.sh index 0e2e0a03c..43d04c1c1 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -324,6 +324,11 @@ echo "test_create_bgpvpn" >> /tmp/openstack/tempest/test-include-list.txt # L2GW echo "test_create_show_list_update_delete_l2gateway" >> /tmp/openstack/tempest/test-include-list.txt +# Octavia +# We have to enable additional tests because no smoke tests will be run with +# noop drivers. +echo "octavia_tempest_plugin.tests.scenario.*standalone_CRUD" >> /tmp/openstack/tempest/test-include-list.txt + if uses_debs; then echo "mistral_tempest_tests.tests.api.v2.test_executions.ExecutionTestsV2.test_get_list_executions" > /tmp/openstack/tempest/test-exclude-list.txt echo "tempest.*.scenario.test_dashboard_basic_ops.TestDashboardBasicOps.test_basic_scenario" >> /tmp/openstack/tempest/test-exclude-list.txt