Merge "Switch to Atomic 23"
This commit is contained in:
+2
-3
@@ -9,9 +9,8 @@ http://docs.openstack.org/developer/magnum/dev/dev-quickstart.html
|
||||
for more information on using devstack and magnum.
|
||||
|
||||
Running devstack with magnum for the first time may take a long time as it
|
||||
needs to download the Fedora Atomic micro-OS qcow2 image (e.g.,
|
||||
``fedora-21-atomic-5.qcow2``). If you already have this image you can copy it
|
||||
to /opt/stack/devstack/files first to save time.
|
||||
needs to download the Fedora Atomic qcow2 image (see
|
||||
http://www.projectatomic.io/download/).
|
||||
|
||||
To install magnum into devstack, add the following settings to enable the
|
||||
magnum plugin::
|
||||
|
||||
+4
-4
@@ -257,12 +257,12 @@ function init_magnum {
|
||||
function magnum_register_image {
|
||||
local magnum_image_property="--property os_distro="
|
||||
|
||||
local atomic="$(echo $MAGNUM_GUEST_IMAGE_URL | grep -o 'atomic' || true;)"
|
||||
if [ ! -z $atomic ]; then
|
||||
local atomic="$(echo $MAGNUM_GUEST_IMAGE_URL | grep -io 'atomic' || true;)"
|
||||
if [ ! -z "$atomic" ]; then
|
||||
magnum_image_property=$magnum_image_property"fedora-atomic"
|
||||
fi
|
||||
local ubuntu="$(echo $MAGNUM_GUEST_IMAGE_URL | grep -o "ubuntu" || ture;)"
|
||||
if [ ! -z $ubuntu ]; then
|
||||
local ubuntu="$(echo $MAGNUM_GUEST_IMAGE_URL | grep -io "ubuntu" || true;)"
|
||||
if [ ! -z "$ubuntu" ]; then
|
||||
magnum_image_property=$magnum_image_property"ubuntu"
|
||||
fi
|
||||
|
||||
|
||||
+10
-1
@@ -15,7 +15,16 @@ if is_service_enabled m-api m-cond; then
|
||||
|
||||
# add image to glance
|
||||
if [[ "$ENABLED_SERVICES" =~ 'm-api' ]]; then
|
||||
MAGNUM_GUEST_IMAGE_URL=${MAGNUM_GUEST_IMAGE_URL:-"https://fedorapeople.org/groups/magnum/fedora-21-atomic-5.qcow2"}
|
||||
# TODO Add a "latest" link to fedora release process
|
||||
ATOMIC_IMAGE_NAME=$( \
|
||||
wget --spider --level 1 \
|
||||
--recursive --accept-regex=".*qcow2" \
|
||||
"https://alt.fedoraproject.org/pub/alt/atomic/stable/Cloud-Images/x86_64/Images/" 2>&1 | \
|
||||
grep qcow2 | \
|
||||
sed 's/.*Cloud-Images\/x86_64\/Images\///' | \
|
||||
head -n 1)
|
||||
echo "Atomic Image: $ATOMIC_IMAGE_NAME"
|
||||
MAGNUM_GUEST_IMAGE_URL=${MAGNUM_GUEST_IMAGE_URL:-"https://download.fedoraproject.org/pub/alt/atomic/stable/Cloud-Images/x86_64/Images/$ATOMIC_IMAGE_NAME"}
|
||||
IMAGE_URLS+=",${MAGNUM_GUEST_IMAGE_URL}"
|
||||
fi
|
||||
|
||||
|
||||
@@ -113,17 +113,15 @@ Magnum has been tested with the Fedora Atomic micro-OS and CoreOS. Magnum will
|
||||
likely work with other micro-OS platforms, but each requires individual
|
||||
support in the heat template.
|
||||
|
||||
Store the Fedora Atomic micro-OS in glance. (The steps for updating Fedora
|
||||
Atomic images are a bit detailed. Fortunately one of the core developers has
|
||||
made Atomic images available at https://fedorapeople.org/groups/magnum)::
|
||||
Store the Fedora Atomic micro-OS in glance. Download the qcow2 Atomic image
|
||||
from https://getfedora.org/cloud/download/atomic.html and then upload it to
|
||||
glance::
|
||||
|
||||
cd ~
|
||||
wget https://fedorapeople.org/groups/magnum/fedora-21-atomic-5.qcow2
|
||||
glance image-create --name fedora-21-atomic-5 \
|
||||
--visibility public \
|
||||
--disk-format qcow2 \
|
||||
--os-distro fedora-atomic \
|
||||
--container-format bare < fedora-21-atomic-5.qcow2
|
||||
--container-format bare < fedora-atomic.qcow2
|
||||
|
||||
Create a domain and domain admin for trust::
|
||||
|
||||
|
||||
@@ -185,7 +185,7 @@ when installing devstack use::
|
||||
| 7f5b6a15-f2fd-4552-aec5-952c6f6d4bc7 | cirros-0.3.4-x86_64-uec | ami | ami | 25165824 | active |
|
||||
| bd3c0f92-669a-4390-a97d-b3e0a2043362 | cirros-0.3.4-x86_64-uec-kernel | aki | aki | 4979632 | active |
|
||||
| 843ce0f7-ae51-4db3-8e74-bcb860d06c55 | cirros-0.3.4-x86_64-uec-ramdisk | ari | ari | 3740163 | active |
|
||||
| 02c312e3-2d30-43fd-ab2d-1d25622c0eaa | fedora-21-atomic-5 | qcow2 | bare | 770179072 | active |
|
||||
| 02c312e3-2d30-43fd-ab2d-1d25622c0eaa | fedora-atomic | qcow2 | bare | 770179072 | active |
|
||||
+--------------------------------------+---------------------------------+-------------+------------------+-----------+--------+
|
||||
|
||||
To list the available commands and resources for magnum, use::
|
||||
@@ -217,7 +217,7 @@ The coe (Container Orchestration Engine) and keypair need to be specified
|
||||
as well::
|
||||
|
||||
magnum baymodel-create --name k8sbaymodel \
|
||||
--image-id fedora-21-atomic-5 \
|
||||
--image-id fedora-atomic \
|
||||
--keypair-id testkey \
|
||||
--external-network-id public \
|
||||
--dns-nameserver 8.8.8.8 \
|
||||
@@ -437,7 +437,7 @@ the absence of some Kubernetes-specific arguments and the use of 'swarm'
|
||||
as the coe::
|
||||
|
||||
magnum baymodel-create --name swarmbaymodel \
|
||||
--image-id fedora-21-atomic-5 \
|
||||
--image-id fedora-atomic \
|
||||
--keypair-id testkey \
|
||||
--external-network-id public \
|
||||
--dns-nameserver 8.8.8.8 \
|
||||
|
||||
@@ -45,7 +45,7 @@ Create a baymodel, by default TLS is enabled in Magnum::
|
||||
magnum baymodel-create --name secure-kubernetes \
|
||||
--keypair-id default \
|
||||
--external-network-id public \
|
||||
--image-id fedora-21-atomic-5 \
|
||||
--image-id fedora-atomic \
|
||||
--flavor-id m1.small \
|
||||
--docker-volume-size 1 \
|
||||
--coe kubernetes \
|
||||
@@ -68,7 +68,7 @@ Create a baymodel, by default TLS is enabled in Magnum::
|
||||
| docker_volume_size | 1 |
|
||||
| external_network_id | public |
|
||||
| cluster_distro | fedora-atomic |
|
||||
| image_id | fedora-21-atomic-5 |
|
||||
| image_id | fedora-atomic |
|
||||
| registry_enabled | False |
|
||||
| apiserver_port | None |
|
||||
| name | secure-kubernetes |
|
||||
|
||||
@@ -41,7 +41,7 @@ You can specify all three proxy parameters while creating baymodel of any
|
||||
coe type. All of proxy parameters are optional.
|
||||
|
||||
magnum baymodel-create --name k8sbaymodel \
|
||||
--image-id fedora-21-atomic-5 \
|
||||
--image-id fedora-atomic \
|
||||
--keypair-id testkey \
|
||||
--external-network-id public \
|
||||
--dns-nameserver 8.8.8.8 \
|
||||
@@ -51,7 +51,7 @@ coe type. All of proxy parameters are optional.
|
||||
--https-proxy <https://abc-proxy.com:8080> \
|
||||
--no-proxy <172.24.4.4,172.24.4.9,172.24.4.8>
|
||||
magnum baymodel-create --name swarmbaymodel \
|
||||
--image-id fedora-21-atomic-5 \
|
||||
--image-id fedora-atomic \
|
||||
--keypair-id testkey \
|
||||
--external-network-id public \
|
||||
--dns-nameserver 8.8.8.8 \
|
||||
|
||||
@@ -140,12 +140,6 @@ works in your case)::
|
||||
|
||||
ping 8.8.8.8
|
||||
|
||||
**Note:** On the fedora-21-atomic-5 image, ping does not work because
|
||||
of a known atomic bug. You can work around this problem by::
|
||||
|
||||
cp /usr/bin/ping .
|
||||
sudo ./ping 8.8.8.8
|
||||
|
||||
If the ping fails, there is no route to the external internet.
|
||||
Check the following:
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ user = admin
|
||||
tenant = admin
|
||||
pass = password
|
||||
[magnum]
|
||||
image_id = fedora-21-atomic-5
|
||||
image_id = fedora-atomic
|
||||
nic_id = public
|
||||
keypair_id = default
|
||||
flavor_id = s1.magnum
|
||||
|
||||
@@ -39,7 +39,7 @@ if [ "$NETWORK_DRIVER" == "flannel" ]; then
|
||||
|
||||
# Make sure etcd has a flannel configuration
|
||||
. /etc/sysconfig/flanneld
|
||||
until curl -sf "$FLANNEL_ETCD/v2/keys/coreos.com/network/config?quorum=false&recursive=false&sorted=false"
|
||||
until curl -sf "$FLANNEL_ETCD/v2/keys${FLANNEL_ETCD_KEY}/config?quorum=false&recursive=false&sorted=false"
|
||||
do
|
||||
echo "Waiting for flannel configuration in etcd..."
|
||||
sleep 5
|
||||
|
||||
@@ -37,7 +37,7 @@ CLIENT_CSR=$cert_dir/client.csr
|
||||
CLIENT_KEY=$cert_dir/client.key
|
||||
|
||||
#Get a token by user credentials and trust
|
||||
cat > auth.json << EOF
|
||||
auth_json=$(cat << EOF
|
||||
{
|
||||
"auth": {
|
||||
"identity": {
|
||||
@@ -59,14 +59,13 @@ cat > auth.json << EOF
|
||||
}
|
||||
}
|
||||
EOF
|
||||
)
|
||||
|
||||
#trust is introduced in Keystone v3 version
|
||||
AUTH_URL=${AUTH_URL/v2.0/v3}
|
||||
USER_TOKEN=`curl -s -i -X POST -H "Content-Type: application/json" -d @auth.json \
|
||||
USER_TOKEN=`curl -s -i -X POST -H "Content-Type: application/json" -d "$auth_json" \
|
||||
$AUTH_URL/auth/tokens | grep X-Subject-Token | awk '{print $2}'`
|
||||
|
||||
rm -rf auth.json
|
||||
|
||||
# Get CA certificate for this bay
|
||||
curl -X GET \
|
||||
-H "X-Auth-Token: $USER_TOKEN" \
|
||||
|
||||
@@ -44,7 +44,7 @@ SERVER_CSR=$cert_dir/server.csr
|
||||
SERVER_KEY=$cert_dir/server.key
|
||||
|
||||
#Get a token by user credentials and trust
|
||||
cat > auth.json << EOF
|
||||
auth_json=$(cat << EOF
|
||||
{
|
||||
"auth": {
|
||||
"identity": {
|
||||
@@ -66,14 +66,13 @@ cat > auth.json << EOF
|
||||
}
|
||||
}
|
||||
EOF
|
||||
)
|
||||
|
||||
#trust is introduced in Keystone v3 version
|
||||
AUTH_URL=${AUTH_URL/v2.0/v3}
|
||||
USER_TOKEN=`curl -s -i -X POST -H "Content-Type: application/json" -d @auth.json \
|
||||
USER_TOKEN=`curl -s -i -X POST -H "Content-Type: application/json" -d "$auth_json" \
|
||||
$AUTH_URL/auth/tokens | grep X-Subject-Token | awk '{print $2}'`
|
||||
|
||||
rm -rf auth.json
|
||||
|
||||
# Get CA certificate for this bay
|
||||
curl -X GET \
|
||||
-H "X-Auth-Token: $USER_TOKEN" \
|
||||
|
||||
@@ -39,7 +39,7 @@ your environment:
|
||||
ssh_key_name: testkey
|
||||
external_network: 028d70dd-67b8-4901-8bdd-0c62b06cce2d
|
||||
dns_nameserver: 192.168.200.1
|
||||
server_image: fedora-21-atomic-5
|
||||
server_image: fedora-atomic
|
||||
discovery_url: token://d8cdfe5128af6e1075b34aa06ff1cc2c
|
||||
|
||||
And then create the stack, referencing that environment file:
|
||||
|
||||
@@ -28,11 +28,10 @@ function create_test_data {
|
||||
# a baymodel, bay and a pod
|
||||
|
||||
coe=$1
|
||||
|
||||
if [ $coe == 'mesos' ]; then
|
||||
local image_name="ubuntu-14.04"
|
||||
else
|
||||
local image_name="fedora-21-atomic"
|
||||
local image_name="atomic"
|
||||
fi
|
||||
|
||||
# if we have the MAGNUM_IMAGE_NAME setting, use it instead
|
||||
@@ -41,7 +40,7 @@ function create_test_data {
|
||||
image_name=${MAGNUM_IMAGE_NAME:-$image_name}
|
||||
|
||||
export NIC_ID=$(neutron net-show public | awk '/ id /{print $4}')
|
||||
export IMAGE_ID=$(glance --os-image-api-version 1 image-list | grep $image_name | awk '{print $2}')
|
||||
export IMAGE_ID=$(glance --os-image-api-version 1 image-list | grep -i $image_name | awk '{print $2}')
|
||||
|
||||
# pass the appropriate variables via a config file
|
||||
CREDS_FILE=$MAGNUM_DIR/functional_creds.conf
|
||||
|
||||
@@ -29,7 +29,7 @@ magnum_group = cfg.OptGroup(name="magnum", title="Magnum Options")
|
||||
|
||||
MagnumGroup = [
|
||||
cfg.StrOpt("image_id",
|
||||
default="fedora-21-atomic-5",
|
||||
default="fedora-atomic",
|
||||
help="Image id to be used for baymodel."),
|
||||
|
||||
cfg.StrOpt("nic_id",
|
||||
|
||||
Reference in New Issue
Block a user