Accessing swift from another machine through public IP address interface

Asked by Prakashan Korambath

I am trying to run the command below from a machine other than my proxy server. If I run the same command from my proxy server everything is fine. I can telnet to the port 8080 form the machine where I am running this command. Curl commands are fine as well. I don't know why "st" commands are timing out. <publicipaddress> is public IP of my multinode installation proxy server. I am running the st command from a machine where I did a single node installation. The st script there seems to be different though. Also, how do I install st command alone on a stand alone machine? Thanks.

st -A https://<publicipaddress>:8080/auth/v1.0 -U system:root -K testpass list
[Errno 110] ETIMEDOUT

Prakashan

Question information

Language:
English Edit question
Status:
Answered
For:
OpenStack Object Storage (swift) Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Marcelo Martins (btorch) said :
#1

Hi Prakashan,

What version of swift are you using ? Could you also provide your proxy-server.conf

Revision history for this message
Prakashan Korambath (ppk) said :
#2

Hi Marcelo

Here is my proxy-server.conf. I followed the instructions
at the URL below. When I was installing couple of weeks ago
version was 1.4.1. That document seems to have disappeared
now and replaced with 1.4.2 and instructions for swauth also
disappeared in the new document.

On my single node installation the scripts clearly says
version 1.4.1. On multi node installation, is there a way
to print out version? I believe it is 1.4.1.

http://swift.openstack.org/howto_installmultinode.html

Thanks for helping me.

Prakashan

[DEFAULT]
cert_file = /etc/swift/cert.crt
key_file = /etc/swift/cert.key
bind_port = 8080
workers = 8
user = swift

[pipeline:main]
pipeline = healthcheck cache swauth proxy-server

[app:proxy-server]
use = egg:swift#proxy
allow_account_management = true

[filter:swauth]
use = egg:swift#swauth
default_swift_cluster = local#https://10.101.3.51:8080/v1
# Highly recommended to change this key to something else!
super_admin_key = swauthkey

[filter:healthcheck]
use = egg:swift#healthcheck

[filter:cache]
use = egg:swift#memcache
memcache_servers = 10.101.3.51:11211

On 06/29/2011 07:11 AM, Marcelo Martins wrote:
> Your question #163104 on OpenStack Object Storage (swift) changed:
> https://answers.launchpad.net/swift/+question/163104
>
> Status: Open => Needs information
>
> Marcelo Martins requested more information:
> Hi Prakashan,
>
> What version of swift are you using ? Could you also provide your proxy-
> server.conf
>

Revision history for this message
Marcelo Martins (btorch) said :
#3

Are you sure you have 1.4.1 ? One of the changes on 1.4.1 release was swauth becoming its own project and "use = egg:swift#swauth" changing to "use = egg:swauth#swauth" within the "[filter:swauth]" section.

You can find out the version with python; -c "import swift ; print swift.__version__"

In any case, the reason why you cannot access the account from outside is because your "default_swift_cluster" url points to an internal IP address. So, when your swauth account was created it used that IP address within the storageUrl.

In order to gain public access, you will have to either change that "default_swift_cluster" to contain the public IP, which will then provide a new storageUrl for NEW accounts.

Or just change the current account storageUrl using swauth-set-account-service tool.

Revision history for this message
Prakashan Korambath (ppk) said :
#4

It is showing version as 1.2.0. I was just following the
multinode installation at the URL and may be this is what it
installed. Is there a way to update to version 1.4.2?

root@u51:~# python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more
information.
 >>> import swift
 >>> print swift.__version__
1.2.0
 >>>

So, I can just change this line
default_swift_cluster = local#https://10.101.3.51:8080/v1

and restart swift-init right?

Prakashan

On 06/29/2011 09:31 AM, Marcelo Martins wrote:
> Your question #163104 on OpenStack Object Storage (swift) changed:
> https://answers.launchpad.net/swift/+question/163104
>
> Status: Open => Answered
>
> Marcelo Martins proposed the following answer:
> Are you sure you have 1.4.1 ? One of the changes on 1.4.1 release was
> swauth becoming its own project and "use = egg:swift#swauth" changing to
> "use = egg:swauth#swauth" within the "[filter:swauth]" section.
>
> You can find out the version with python; -c "import swift ; print
> swift.__version__"
>
> In any case, the reason why you cannot access the account from outside
> is because your "default_swift_cluster" url points to an internal IP
> address. So, when your swauth account was created it used that IP
> address within the storageUrl.
>
> In order to gain public access, you will have to either change that
> "default_swift_cluster" to contain the public IP, which will then
> provide a new storageUrl for NEW accounts.
>
> Or just change the current account storageUrl using swauth-set-account-
> service tool.
>

Revision history for this message
Prakashan Korambath (ppk) said :
#5

I followed your advice and gave public IP address and
created a new account and now I am able to access from
another machine through public IP.

So is it better to use the hostname (FQDN) instead of IP
address in proxy-server.conf file so that internally, it
will be resolve the private and outside it will be resolved
for public IP addresses?

I will ask the question of upgrading from 1.2.0 to 1.4.2 in
a separate question. Also I want to run the st command from
a machine where I did not install swift. I will ask as a
separate question.

Thanks for helping me with the IP problem. Appreciate it.

Prakashan

On 06/29/2011 09:45 AM, Prakashan Korambath wrote:
> Your question #163104 on OpenStack Object Storage (swift) changed:
> https://answers.launchpad.net/swift/+question/163104
>
> Status: Answered => Open
>
> You are still having a problem:
> It is showing version as 1.2.0. I was just following the
> multinode installation at the URL and may be this is what it
> installed. Is there a way to update to version 1.4.2?
>
> root@u51:~# python
> Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41)
> [GCC 4.4.3] on linux2
> Type "help", "copyright", "credits" or "license" for more
> information.
> >>> import swift
> >>> print swift.__version__
> 1.2.0
> >>>
>
> So, I can just change this line
> default_swift_cluster = local#https://10.101.3.51:8080/v1
>
> and restart swift-init right?
>
> Prakashan
>
>
>
> On 06/29/2011 09:31 AM, Marcelo Martins wrote:
>> Your question #163104 on OpenStack Object Storage (swift) changed:
>> https://answers.launchpad.net/swift/+question/163104
>>
>> Status: Open => Answered
>>
>> Marcelo Martins proposed the following answer:
>> Are you sure you have 1.4.1 ? One of the changes on 1.4.1 release was
>> swauth becoming its own project and "use = egg:swift#swauth" changing to
>> "use = egg:swauth#swauth" within the "[filter:swauth]" section.
>>
>> You can find out the version with python; -c "import swift ; print
>> swift.__version__"
>>
>> In any case, the reason why you cannot access the account from outside
>> is because your "default_swift_cluster" url points to an internal IP
>> address. So, when your swauth account was created it used that IP
>> address within the storageUrl.
>>
>> In order to gain public access, you will have to either change that
>> "default_swift_cluster" to contain the public IP, which will then
>> provide a new storageUrl for NEW accounts.
>>
>> Or just change the current account storageUrl using swauth-set-account-
>> service tool.
>>
>

Revision history for this message
Marcelo Martins (btorch) said :
#6

Hi Prakashan,

Glad I could help. Yes it would be better to use a FQDN, for example on some saio setups I have done I had the url as "default_swift_cluster = local#https://saio-1.mydomain.com:8080/v1#https://127.0.0.1:8080/v1"

Yes, please ask those other questions on separate threads. Thanks

This is also something you could use for a quick saio setup, but doing manually a few times as you are doing is probably the best to learn things inside/out ... https://github.com/btorch/swift-saio.sh

Can you help with this problem?

Provide an answer of your own, or ask Prakashan Korambath for more information if necessary.

To post a message you must log in.